package main

import "fmt"

func main() {

	//需要指明数组的大小和存储的数据类型。
	var arry1 = [5]string{"a", "b", "c"}
	fmt.Println(arry1)

	var arry2 [10]int
	fmt.Println(arry2)

	//如果忽略 [] 中的数字不设置数组大小，Go 语言会根据元素的个数来设置数组的大小：
	var arry3 = []string{"aaa", "vvv", "ddd"}
	fmt.Println(arry3)

	//其他创建方式
	//这里使用了切片字面量的高级初始化方式，{4:10} 表示创建一个长度和容量至少为 5 的切片
	// 其中索引为 4 的元素被初始化为 10，而其他元素都被初始化为零值
	arry4 := []int{2: 10, 4: 10}
	fmt.Println(arry4)
	//数组长度
	fmt.Printf("arr4长度是%d \n", len(arry4))

	for i, value := range arry4 {
		fmt.Println(i, value)
	}

	arry5 := []string{"tuanzhang", "yasuo", "tt"}
	arry6 := arry5
	arry6[2] = "laowang"

	fmt.Println("arry5 is ", arry5)
	fmt.Println("arry6 is ", arry6)

	a := [...]string{"USA", "China", "India", "Germany", "France"}
	b := a // a copy of a is assigned to b
	b[0] = "Singapore"
	fmt.Println("a is ", a)
	fmt.Println("b is ", b)

}
